1. Field
The present invention relates to a decoding method and a decoder, and more particularly, to a forward error correction (FEC) decoder and a method thereof.
2. Description of the Background Art
An error can occur even in a digital signal transmission. Specifically, in case where digital equipments transmit a large capacity of data at a fast speed, a possibility of error occurrence increases as much.
In an error detection method for checking the error, the simplest is a method for adding a bit called parity to data. The parity signifies odd and even. The method refers to a method in which the number of “1” is set to be always odd or even in digital data of “0” and “1”.
For example, if an even parity is used, a parity bit of “1” is added when the number of “1” is odd in original data, and a parity bit of “0” is added when the number of “1” is even in original data. The odd parity is opposite to the even parity.
When the error is detected, a next issue is error correction. Again reading or transmitting data when the error occurrence is recognized is the easiest method. However, this method is not effective because a time for re-transmission is needed, and re-transmission is impossible in some cases.
In order to solve such a disadvantage, a method for making it possible to perform error correction as well as error detection when data is transmitted at first is suggested. This method is called a forward error correction (FEC) method in that an error to occur in the future is previously corrected. In the forward error correction method, data is repeatedly transmitted to correct the error.
Among the forward error correction methods, a Reed-Solomon coding method is widely used. In this method, when the “k” number of data and the “r” number of error correction information are added, original data can be restored if only any “k” number of data among the “k+r” number of data is read. In other words, the original data can be restored though the error occurs in up to the “r” number of data.
FIG. 1 is a block diagram illustrating a conventional transmitter of a terrestrial digital multimedia broadcasting (T-DMB) system.
A forward error correction encoder (FEC) 102 Reed-Solomon encodes and convolutional interleaves an image signal 101. A convolutional encoder 104 encodes the image signal 101 received from an energy dispersion scrambler 103. A time interleaver 105 interleaves a convolutional encoded bit in a temporal region. A main service multiplexer 108 multiplexes bit streams, such as an audio signal 106 and packet data 107, of several encoded channels to provide transmission bit streams. A convolutional encoder 111 encodes a control signal 109 received from an energy dispersion scrambler 110. A transmission frame multiplexer 112 multiplexes the multiplexed bit stream with a bit stream for the control signal. A digital audio broadcasting (DAB) symbol generator 113 converts a multiplexed transmission frame into an orthogonal frequency division multiplexing (OFDM) symbol. A transmission stage processor 114 modulates and transmits the converted OFDM symbol to a radio channel 115 through an antenna.
FIG. 2 is a block diagram illustrating a conventional receiver of the T-DMB system.
The DMB receiver receives a transmission signal from a DMB broadcasting base station over a radio channel 208. A receiver processor 207 comprises a function block such as an amplifier, a filter, a frequency down converter, and an analog-to-digital converter (ADC). Digital converted samples are detected and synchronized by a DAB symbol detector 206, and are demultiplexed by several channels. A bit stream of each channel is de-interleaved, convolutional decoded, and energy dispersion descrambled by a time de-interleaver 205, a convolutional decoder 204, and an energy dispersion descrambler 203. A forward error correction decoder 202 converts the energy dispersion descrambled bit stream into a symbol, and convolutional de-interleaves and Reed-Solomon decodes the converted symbol. The convolutional decoder 204 is vulnerable to an error group. Thus, after the convolutional decoding, the convolutional decoder 204 has the error group, not a single error, if any. Accordingly, a bit stream after the energy dispersion descrambling also has an error group.
FIG. 3 is a detailed block diagram illustrating a conventional forward error correction encoder in the transmitter of the T-DMB system of FIG. 1.
The forward error correction encoder comprises a Reed-Solomon encoder 301, a convolutional interleaver 302. The Reed-Solomon (n, k, t) encoder 301 performs encoding on a per-packet basis. The Reed-Solomon (n, k, t) encoder 301 receives a packet comprised of the “k” number of symbols, calculates the “2t” number of parity symbols, and comprises the calculated symbols in the received packet. The parity symbol is calculated on the basis of a code generator polynomial. The encoded t packet has the number of symbols obtained from Equation: n=k+2t. For example, the T-DMB system uses Reed-Solomon (104, 188, 8) codes. The output packet comprised of the “n” number of symbols is convolutional interleaved.
FIG. 4 is a detailed block diagram illustrating a conventional forward error correction decoder in the receiver of the T-DMB system of FIG. 2.
The forward error correction decoder 202 comprises a convolutional de-interleaver 401, and a Reed-Solomon decoder 402. The convolutional de-interleaver 401 receives a symbol from the energy dispersion descrambler, and de-interleaves and transmits the received symbol to the Reed-Solomon decoder 402. The Reed-Solomon (n, k, t) decoder 402 buffers and decodes the symbol after the convolutional de-interleaving to provide a Reed-Solomon input packet. The Reed-Solomon decoder 402 receives the “n” number of symbols, and outputs the “k” number of decoded symbols on the basis of the “2t” number of parity symbols. Assuming that the number of errors is denoted by “e”, and the number of erasures (error whose location is recognized but value is not recognized) is denoted by “r”, a total error correction of the Reed-Solomon (n, k, t) decoder 402 is obtained from Equation: 2e+r=2t.
However, not having information on error locations, the Reed-Solomon decoder 402 cannot correct the erasure, and can correct only the error. Thus, there is a drawback in that, if the number of errors is greater than “t” and less than “2t” in one packet, just one error cannot be corrected through it is within a range of the error correction (2t) of the Reed-Solomon (n, k, t) decoder 402.
FIG. 5A is a conceptual diagram illustrating the conventional convolutional interleaver in the transmitter of the T-DMB system. FIG. 5B is a conceptual diagram illustrating the conventional convolutional de-interleaver in the receiver of the T-DMB system.
As shown in FIG. 5A, the convolutional interleaver 302 has the “I” number of branches. Each branch is comprised of a shift register. The ith branch is comprised of the (i−1)*M number of registers and thus, can store the (i−1)*M number of symbols. The symbol outputted from the Reed-Solomon encoder 301 is cyclically stored in the shift register. If the shift register of each branch is fully filled, each branch outputs one symbol whenever receiving the symbol one by one. In such a method, the input symbol is interleaved.
As shown in FIG. 5B, the convolutional de-interleaver 401 has the “I” number of branches. Each branch is comprised of a shift register. Due to a structural characteristic of the convolutional de-interleaver 401, a sequence of a symbol error position after the convolutional de-interleaving is opposite to that of before the convolutional de-interleaving.